package cn.csc.module.pay.controller.admin.fund.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import lombok.*;

import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.*;
import io.swagger.annotations.*;
import cn.csc.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;

import static cn.csc.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@ApiModel(value = "管理后台 - 用户资金 Excel 导出 Request VO", description = "参数和 PayFundPageReqVO 是一致的")
@Data
public class PayFundExportReqVO {

    @ApiModelProperty(value = "商户编号")
    private BigInteger merchantId;

    @ApiModelProperty(value = "可用余额")
    private BigDecimal balance;

    @ApiModelProperty(value = "累计可提现总额")
    private BigDecimal balanceTotal;

    @ApiModelProperty(value = "累计到账子账户总额")
    private BigDecimal arrivalTotal;

    @ApiModelProperty(value = "冻结资金")
    private BigDecimal freeze;

    @ApiModelProperty(value = "总额")
    private BigDecimal amount;

    @ApiModelProperty(value = "扣除通联支付手续费的金额")
    private BigDecimal amountCompute;

    @ApiModelProperty(value = "平安银行见证宝维一编码")
    private String jzbCode;

    @ApiModelProperty(value = "存量资金是否同步至平安银行账户0：未同步;1:已同步")
    private Boolean syncAmountStatus;

    @ApiModelProperty(value = "见证宝同步状态0:未同步;1:同步")
    private Integer jzbStatus;

    @ApiModelProperty(value = "虚拟会员ID，与平安鉴证宝一一对应")
    private String vMemberId;

    @ApiModelProperty(value = "提现金额的可提现的额度")
    private String amountQuota;

    @ApiModelProperty(value = "服务费利率")
    private Double interestRate;

    @ApiModelProperty(value = "设置取默认或者手动设置费率 1:默认 2：手动")
    private Integer setUp;

    @ApiModelProperty(value = "会员电子协议编号")
    private String contractNo;

    @ApiModelProperty(value = "见证宝签约否成功标志S-成功 F-失败")
    private String reinSuccessFlag;

    @ApiModelProperty(value = "见证宝签约IP地址")
    private String ipAddress;

    @ApiModelProperty(value = "见证宝签约MAC地址")
    private String macAddress;

    @ApiModelProperty(value = "见证宝签约渠道1-app 2-平台H5网页 3-公众号 4-小程序    功能标志FunctionFlag=1时必输")
    private String signChannel;

    @ApiModelProperty(value = "是否提现签约 0:未签约 1:已签约 2:签约失败")
    private Integer signStatus;

    @ApiModelProperty(value = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Date[] createTime;

}
